-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

=============================================================================
FreeBSD-SA-07:10.gtar                                       Security Advisory
                                                          The FreeBSD Project

Topic:          gtar directory traversal vulnerability

Category:       contrib
Module:         contrib_tar
Announced:      2007-11-29
Credits:        Dmitry V. Levinx
Affects:        FreeBSD 5.x releases
Corrected:      2007-11-29 16:08:54 UTC (RELENG_5, 5.5-STABLE)
                2007-11-29 16:09:26 UTC (RELENG_5_5, 5.5-RELEASE-p17)
CVE Name:       CVE-2007-4131

For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:http://security.FreeBSD.org/>.

I.   Background

GNU tar (gtar) is a utility to create and extract "tape archives",
commonly known as tar files.  GNU tar is included in FreeBSD 5.x as
/usr/bin/gtar.

II.  Problem Description

Insufficient sanity checking of paths containing '.' and '..' allows
gtar to overwrite arbitrary files on the system.

III. Impact

An attacker who can convince an user to extract a specially crafted
archive can overwrite arbitrary files with the permissions of the user
running gtar.  If that user is root, the attacker can overwrite any
file on the system.

IV.  Workaround

Use "bsdtar", which has been the default tar implementation since
FreeBSD 5.3.

V.   Solution

Perform one of the following:

1) Upgrade your vulnerable system to 5-STABLE, or to the RELENG_5_5
security branch dated after the correction date.

2) To patch your present system:

The following patches have been verified to apply to FreeBSD 5.5
systems.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch http://security.FreeBSD.org/patches/SA-07:10/gtar.patch
# fetch http://security.FreeBSD.org/patches/SA-07:10/gtar.patch.asc

b) Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/gnu/usr.bin/tar
# make obj && make depend && make && make install

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Branch                                                           Revision
  Path
- -------------------------------------------------------------------------
RELENG_5
  src/contrib/tar/src/misc.c                                      1.3.8.1
RELENG_5_5
  src/UPDATING                                            1.342.2.35.2.17
  src/sys/conf/newvers.sh                                  1.62.2.21.2.19
  src/contrib/tar/src/misc.c                                     1.3.20.1
- -------------------------------------------------------------------------

VII. References

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4131

The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-SA-07:10.gtar.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFHTue3FdaIBMps37IRAgzFAKCMswqo5lH2+bb0yGRN+qhPqfBYlACfQ4+j
Dq8Gbv9wz/AwDyAEZq2+1eQ=
=1e8b
-----END PGP SIGNATURE-----
